package cn.jn.lhm.part01;

import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;

import static cn.jn.lhm.part01.ByteBufferUtil.debugAll;

/**
 * @author lhm 2753914576@qq.com
 * @time 2022/7/3 - 15:27
 **/
public class ByteBufferString {
    public static void main(String[] args) {
        // 1.字符串转为 byteBuffer
        ByteBuffer buffer = ByteBuffer.allocate(16);
        buffer.put("hello".getBytes());
        debugAll(buffer);

        // 2. Charset 会直接切换到读模式
        ByteBuffer buffer1 = StandardCharsets.UTF_8.encode("李红梦");
        debugAll(buffer1);

        // 3. wrap 会直接切换到读模式
        ByteBuffer buffer2 = ByteBuffer.wrap("hello".getBytes());
        debugAll(buffer2);


        // 4.decode 转为字符串
        String str1 = StandardCharsets.UTF_8.decode(buffer1).toString();
        System.out.println(str1);

        buffer.flip();
        String str2 = StandardCharsets.UTF_8.decode(buffer).toString();
        System.out.println(str2);
    }
}
